package com.kaishengit.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.kaishengit.dao.FiletypeDao;
import com.kaishengit.pojo.Files;
import com.kaishengit.pojo.Filetype;
import com.kaishengit.pojo.Project;
import com.kaishengit.pojo.User;
import com.kaishengit.util.DateUtil;

@Service
@Transactional
public class FiletypeService {
	private FiletypeDao filetypeDao;
	
	public void save(Filetype filetype){
		filetypeDao.save(filetype);
	}
	
	public void save(Filetype filetype, User user, Project project) {
		filetype.setCreatetime(DateUtil.getDate());
		filetype.setUser(user);
		filetype.setProject(project);
		filetypeDao.save(filetype);
	}
	
	public void update(Filetype filetype){
		filetypeDao.update(filetype);
	}
	
	public void del(Filetype filetype){
		filetypeDao.del(filetype);
	}
	
	public Filetype findById(int id){
		return filetypeDao.findById(id);
	}
	
	public List<Filetype> findAll(){
		return filetypeDao.findAll();
	}
	
	@Autowired
	public void setFiletypeDao(FiletypeDao filetypeDao) {
		this.filetypeDao = filetypeDao;
	}

	public List<Filetype> findByProjectId(Project project) {
		//return filetypeDao.findByProjectId(project);
		List<Filetype> filetypes = filetypeDao.findByProject(project);
		int num = 0;
		for (Filetype filetype : filetypes) {
			float sum = 0;
			for (Files files : filetype.getFilelist()) {
				sum += files.getFilesize();
			}
			if (sum != 0) {
				filetypes.get(num).setSumsize(sum/1024/1024);
				filetypes.get(num).setCountnum(filetype.getFilelist().size());
			}
			num++;
		}
		return filetypes;
	}
}
